Data ultimo aggiornamento: 28/01/2021

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Schedulazione di elaborazioni batch

Per far operare Business in modalità batch basta impostare il parametro /B (modalità batch) come parametro di avvio di Buscube.exe, gli eventuali child\programmi avviati non visualizzeranno MAI dei messaggi a video, non chiederanno conferme nell'esecuzione di determinate operazioni e scriveranno in un file di log le operazioni che in precedenza venivano chieste a video. I programmi che possono operare in modalità batch\schedulabile sono:

BN__ETIM - ESECUZIONE AUTOMATICA PROCEDURE DI ALERT
BNCGASBC - AGGIORNAMENTO STATUS BLOCCO CLIENTI
BNCRCHOP - CHIUSURA AUTOMATICA OPPORTUNITA'
BNCRGSYN - SINCRONIZZAZIONE CON GOOGLE/EXCHANGE
BNDBEMRP - ELABORAZIONE MRP
BNDBRIVA - RIVALORIZZAZIONE CARICHI/SCARICHI DA PRODUZIONE
BNDBSTDB - STAMPA / VISUALIZZAZIONE DISTINTA BASE
BNDSGEST - GESTIONE DROP SHIPPING
BNDWGEND - ESTRAZIONE DATI PER DATAWAREHOUSE
BNDWQVDA - ANALISI DATI DATAWAREHOUSE
BNECIMPO - IMPORT DATI ECOMMERCE
BNEMGMAI - ESECUZIONE AUTOMATICA RICEZIONE E-MAIL
BNFECONS - FATTURAZIONE ELETTRONICA
BNIEIMPO - STRUMENTO DI IMPORT/EXPORT
BNMDRICE - IMPORTAZIONE ESITI MAGAZZINO AUTOMATICO
BNMDSEND - INVIO DOCUMENTI A MAGAZZINO AUTOMATICO
BNMGCALC - CALCOLO COSTI PER DOC. VENDITA
BNMGRCAP - RICOSTRUZIONE PROGRESSIVI DI MAGAZZINO
BNPAPNPA - CONTABILIZZAZIONE PARCELLE
BNPKRICM - STAMPE DA PICKING
BNPKSTET - STAMPE DA PICKING
BNPLCERV - ELABORAZIONE DATI DI SISTEMI DI AFFIDABILITA' CLIENTI
BNREPNCO - CONTABILIZZAZIONE CORRISPETTIVI
BNRGSYNC - SINCRONIZZAZIONE NEGOZI E SERVER CENTRALE
BNRGSYSE - SINCRONIZZAZIONE SERVER CENTRALE E NEGOZI
BNTFESEC - ESTRAZIONE SCADENZE EXTRACONTABILI
BNTXIEDF - COLLEGAMENTO SISTEMI TESORERIA
BNVEPNFA - CONTABILIZZAZIONE DOCUMENTI DI MAGAZZINO
BNWFBTCH - AUTO-COMPLETAMENTO TASK WORKFLOW

In pratica all'avvio della procedura viene creato in file nella directory di lavoro avente con nome BusNetBatch_nomeprocesso.log e tutti i messaggi di errore, invece di essere visualizzati all'utente, verranno salvati in questo file di log. Sempre in questo file viene memorizzata data e ora di quando è stato avviato Business e quali form sono state avviate durante la sessione di lavoro. Alla chiusura del programma da far eseguire verrà chiuso in automatico anche Business.

Nel caso che il programma da avviare chieda informazioni all'utente tramite messaggi (ad esempio 'Procedere con l'elaborazione?', oppure 'Visualizzare il file di log') questi messaggi verranno salvati sempre nel file .log predetto e la procedura procederà come se si fosse scelto il valore predefinito per il messaggio.

Per poter attivare la procedura sopra descritta all'avvio di Business occorre specificare la riga di comando come segue:

Buscube.exe operatore password_operatore database profilo_di_business child_da_eseguire /B parametri_di_avvio ditta_da_utilizzare

Ad esempio, per avviare in modalità batch il programma 'esecuzione automatica alerting':

Buscube.exe Mirto . PROVA14 Business BN__ETIM /B c:\programmi\bus\asc\bn__etim.bub prova

ovvero verrà avviato business utilizzando l'operatore 'Mirto', senza password, sul database PROVA14, ditta PROVA; il programma da avviare è BN__ETIM ed i parametri di avvio sono contenuti nel file c:\programmi\bus\asc\bn__etim.bub

NB: Rispetto ai consueti parametri della riga di comando di Business è stato aggiunto il parametro /B che sostituisce il /R (o uno, o l'altro) ed in coda è stato aggiunto il codice ditta da utilizzare per l'elaborazione. Business se avviato con il parametro /B (modalità batch) non consuma più una licenza e non verifica se sono state già tutte utilizzate .

Per realizzare il file .BUB, basta premere CTRL+ALT+F5 sulla form dopo aver impostato la maschera con le impostazioni da utilizzare per l'elaborazione. Il file verrà creato sempre in Asc. A volte la combinazione tasti CTRL+ALT+F5 non genera il file BUB, spesso perchè la combinazione viene intercettata da programmi terzi. Nel caso non funzionasse in tutti i programmi schedulabili sopracitati nel menu strumenti è disponibile la voce 'Crea file per la schedulazione' che fa la stessa cosa.

Una volta creato il file BUB , viene aperta la maschera per creare direttamente la schedulazione in Windows senza dover andare poi manualmente nelle operazioni pianificate di Windows.

Nella prima parte è presente il messaggio della creazione del file BUB e il percorso in cui questo viene creato , più la stringa che verrà utilizzata per impostare la schedulazione in operazioni pianificate. Qui è possibile anche copiare il testo della stringa , per poi utilizzarlo per la creazione manuale della schedulazione.

Nella seconda parte si possono indicare i giorni e l'orario in cui pianificare il processo schedulato.

Con il bottone Operazioni pianificate Windows , verrà aperto direttamente il programma per le schedulazioni.

Il bottone Crea schedulazione crea il processo così come configurato. Questo verrà creato con il nome NTS_NomeDll_Operatore.

In caso l'utente di Windows con cui è eseguito Business non abbia permessi di amministratore , verrà segnalato tramite messaggio.

Esempio di schedulazione batch manuale di un programma NET (estrazione dati datawarehouse)

Come prima cosa occorre accedere al programma da schedulare, nel nostro caso l'estrazione dati datawarehouse, manualmente si settano i controlli in maschera come desiderato e tramite il Ctrl+Alt+F5 (o la voce del menu) si genera il file BUB nella Asc che ci servirà per la schedulazione.

Il file BUB verrà creato nella directory Asc e avrà come nome semplicemente il nome del programma da schedulare, nel nostro caso BNDWGEND.

A questo punto possiamo provare subito se l'esecuzione batch va a buon fine, lanciando l'apposita stringa di comando da Esegui di Windows digitando:

C:\Program Files (x86)\BusCube2\Buscube.exe admin . PROVA Business BNDWGEND /B C:\BusCube2\Asc\BNDWGEND.BUB PROVA

nota: se lanciato da riga di comando, mettere il comando fra doppi apici, per superare il problema degli spazi nel percorso:

"C:\Program Files (x86)\BusCube2\Buscube.exe" admin . PROVA Business BNDWGEND /B C:\BusCube2\Asc\BNDWGEND.BUB PROVA

Ovviamente a video non vediamo niente in quanto il processo parte in modalità batch, per vedere l'effettivo funzionamento possiamo verificarlo da task manager, nell'iimagine sotto possiamo vedere che al lancio della stringa precedente è partito il programma con esecuzione fra i processi in background.

e

Una volta terminato il processo batch, andando nella directory di Business troviamo 2 log e consultandoli possiamo verificare l'avvenuto completamento dell'operazione e eventuali errori.

Nel file di log BusNetBatch_PID.log (nell'esempio BusNetBatch_4492.log) troveremo informazioni\errori relative all'avvio del programma batch.

Nel file di log PROGRAMMA_OPERATORE.log (nell'esempio BNDWGEND_BATCH_admin.log) troviamo eventuali messaggi\errori relativi all'esecuzione del programma batch.

Ora dopo aver verificato il corretto funzionamento possiamo passare alla schedulazione del processo tramite ad esempio le operazioni pianificate\unità di pianificazione di Windows. Nell'esempio mostriamo come crare tale schedulazione sull'unità di pianificazione di Windows 10, ma per gli altri casi risulta comunque simile.

Una volta aperta l'unità di pianificazione procedere alla creazione di una nuova attività di base, ed inserire un nome e descrizione a piacere e procedere con il tasto avanti.

Specificare la schedulazione dell'attività, nell'esempio si è scelto di schedulare l'estrazione dati del datawarehouse ogni giorno.

Alle ore 22.00 (si sarebbe potuto optare ad esempio anche per una programmazione settimanale scegliendo i soli giorni lavorativi sempre alle ore 22.00).

Ora specificare come tipo azione l'avvio programma e passare alla scelta successiva.

Selezionare tramite sfoglia l'eseguibile BusCube.exe ed imputare negli argomenti quelli della stringa di comando precedentemente lanciata con esegui!

Precedere alla finestra successiva di riepilogo e spuntare se necessario il flag di aprire la finestra di dialogo Propietà quando viene scelto Fine per entrare in una configurazione più avanzata dell'attività. Premere fine.

Se si è attivato il flag precedente si consiglia di impostare sotto le opzioni di sicurezza di eseguire il processo indipendentemente dalla connessione degli utenti, con i privilegi più elevati. Inoltre è consigliabile impostare il cambio utente con uno di tipo amministratore.

Passando al tab azioni è possibile verificare o intervenire sull'azione creata.

Nel tab impostazioni invece è consigliabile intervenire sul flag di interrompi se eseguita per oltre in base alla schedulazione precedentemente impostata.

A questo punto premere ok e indicare l'utente e password di Windows con il quale verrà lanciata l'azione (si ricorda ancora di utilizzare un utente di tipo amministratore).

Ora troveremo l'attività con l'azione creata all'interno dell'unità di pianificazione.

Immaginiamo ora di volere invece schedulare 2 avvi diversi per l'estrazioni dati del datawarehouse una sullo scenario 1 e una sullo scenario 7. Occore innanzitutto creare il file BUB per lo scenario 1 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN1.BUB, poi occorre creare il file BUB per lo scenario 7 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN7.BUB; le rinomine servono altrimenti il secondo file BUB sostituirebbe il primo.

Una volta creati i due file BUB

si può passare come prima alla creazione dell'attività questa volta con due azioni (oppure si possono creare due attività ciascuna con un azione), l'importante è specificare bene per ogni azione il nome del file BUB rinominato.

Clicca per accedere al sito di NTS Informatica